<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:msb="http://schemas.microsoft.com/developer/msbuild/2003" elementFormDefault="qualified" targetNamespace="http://schemas.microsoft.com/developer/msbuild/2003" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:include schemaLocation="Microsoft.Build.Commontypes.xsd" />

  <xs:simpleType name="ActionPreference">
    <xs:restriction base="xs:string">
      <xs:enumeration value="Continue"/>
      <xs:enumeration value="SilentlyContinue"/>
      <xs:enumeration value="Prompt"/>
      <xs:enumeration value="Stop"/>
        
    </xs:restriction>
  </xs:simpleType>
  
  <xs:element name="Powershell" substitutionGroup="msb:Task">
    <xs:annotation>
      <xs:documentation>Installs and register script mappings for ASP.NET</xs:documentation>
    </xs:annotation>
    
    <xs:complexType>
      <xs:complexContent mixed="false">
        <xs:extension base="msb:TaskType">
          <xs:attribute name="Script" type="msb:non_empty_string">
            <xs:annotation>
              <xs:documentation>The Powershell script to execute.</xs:documentation>
            </xs:annotation>
          </xs:attribute>

          <xs:attribute name="Arguments" type="xs:string">
            <xs:annotation>
              <xs:documentation>Arguments to the script, on the form arg1=val;arg2=val</xs:documentation>
            </xs:annotation>
          </xs:attribute>

          <xs:attribute name="TaskItems" type="xs:string">
            <xs:annotation>
              <xs:documentation>Task items as input to the task.</xs:documentation>
            </xs:annotation>
          </xs:attribute>

          <xs:attribute name="ErrorActionPreference" type="msb:ActionPreference">
            <xs:annotation>
              <xs:documentation>How to respond to errors.</xs:documentation>
            </xs:annotation>
          </xs:attribute>

          <xs:attribute name="DebugPreference" type="msb:ActionPreference">
            <xs:annotation>
              <xs:documentation>How to respond to debug output.</xs:documentation>
            </xs:annotation>
          </xs:attribute>

          <xs:attribute name="VerbosePreference" type="msb:ActionPreference">
            <xs:annotation>
              <xs:documentation>How to respond to verbose output.</xs:documentation>
            </xs:annotation>
          </xs:attribute>
        </xs:extension>
      </xs:complexContent>
    </xs:complexType>
  </xs:element>
</xs:schema>